
package com.ruoyi.system.monitor;

import com.ruoyi.common.enums.LevelEnum;
import com.ruoyi.system.domain.MonitorConfig;
import com.ruoyi.system.domain.vo.WarnDigestDTO;
import com.ruoyi.system.domain.vo.WarnDigestDetailVo;
import org.springframework.jdbc.core.JdbcTemplate;

import javax.sql.DataSource;
import java.util.List;

public interface MonitorDataService {

    /**
     * 查询首页统计
     */
    WarnDigestDTO count(MonitorConfig config);

    /**
     * 查询详情列表
     */
    List<WarnDigestDetailVo> detail(MonitorConfig config, LevelEnum type);

    /**
     * 获取数据源
     */
    DataSource getDataSource(MonitorConfig config);

    /**
     * 获取数据库连接
     */
    default JdbcTemplate getJdbcTemplate(MonitorConfig config) {
//        return new JdbcTemplate(MonitorDataSourceHelper.getDatasource(config, this::getDataSource));
        return new JdbcTemplate(getDataSource(config));
    }
}